package com.yswy.domain.vo.dto;

import lombok.Data;

import javax.servlet.http.HttpServletRequest;

@Data
public class TgDevice {

    private String PROMOTION_ID;//巨量广告升级版中特有的宏参，代表巨量广告升级版的广告ID
    private String PROJECT_ID;//巨量广告升级版中特有的宏参，代表巨量广告升级版的项目ID
    private String PROMOTION_NAME;//巨量广告升级版中的广告名称
    private String PROJECT_NAME;//巨量广告升级版中的项目名称
    private String MID1;//针对巨量广告升级版，图片素材宏参数（下发原始素材id）
    private String MID2;//针对巨量广告升级版，标题素材宏参数（下发原始素材id）
    private String MID3;//针对巨量广告升级版，视频素材宏参数（下发原始素材id）
    private String MID4;//针对巨量广告升级版，搭配试玩素材宏参数（下发原始素材id）
    private String MID5;//针对巨量广告升级版，落地页素材宏参数（下发原始素材id）
    private String MID6;//针对巨量广告升级版，安卓下载详情页素材宏参数（下发原始素材id）
    private String AID;//广告计划id
    private String AID_NAME;//广告计划名称
    private String CID;//广告创意 id，长整型
    private String CID_NAME;//广告创意名称
    private String CAMPAIGN_ID;//广告组 id
    private String CAMPAIGN_NAME;//广告组名称
    private String CTYPE;//创意样式
    private String ADVERTISER_ID;//广告主id/账户id
    private String CSITE;//广告投放位置
    private String CONVERT_ID;//转化id
    private String REQUEST_ID;//请求下发的id
    private String TRACK_ID;//请求下发的id&创意id的md5,16位
    private String SL;//这次请求的语言
    private String IMEI;//安卓的设备 ID 的 md5 摘要，32位
    private String IDFA;//IOS 6+的设备id字段，32位
    private String IDFA_MD5;//IOS 6+的设备id的md5摘要，32位
    private String ANDROIDID;//安卓id原值的md5，32位
    private String OAID;//Android Q及更高版本的设备号，常见32位
    private String OAID_MD5;//Android Q及更高版本的设备号的md5摘要，32位
    private String OS;//操作系统平台
    private String MAC;//移动设备mac地址,转换成大写字母,去掉“:”，并且取md5摘要后的结果
    private String MAC1;//移动设备 mac 地址,转换成大写字母,并且取md5摘要后的结果，32位
    private String IPV4;//优先使用上报请求的对端 IP 地址。如果该IP为 IPv6, 则使用客户端获取的 client_ipv4 地址
    private String IPV6;//优先使用上报请求的对端 IP 地址。如果该IP为 IPv4, 则使用客户端获取的 client_ipv6 地址
    private String IP;//"[下发逻辑修改 - 0727生效]正常情况下，全量下发IPv4地址。极少数情况如IPV4无法取数，则下发 IPv6"
    private String UA;//用户代理(User Agent)，一个特殊字符串头，使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
    private String GEO;//位置信息，包含三部分:latitude（纬度），longitude（经度）以及precise（确切信息,精度）
    private String TS;//客户端发生广告点击事件的时间，以毫秒为单位时间戳
    private String CALLBACK_PARAM;//一些跟广告信息相关的回调参数，内容是一个加密字符串，在调用事件回传接口的时候会用到
    private String CALLBACK_URL;//直接把调用事件回传接口的url生成出来，广告主可以直接使用
    private String MODEL;//手机型号
    private String UNION_SITE;//对外广告位编码

    public TgDevice(HttpServletRequest request) {
        this.PROMOTION_ID = request.getParameter("PROMOTION_ID");
        this.PROJECT_ID = request.getParameter("PROJECT_ID");
        this.PROMOTION_NAME = request.getParameter("PROMOTION_NAME");
        this.PROJECT_NAME = request.getParameter("PROJECT_NAME");
        this.MID1 = request.getParameter("MID1");
        this.MID2 = request.getParameter("MID2");
        this.MID3 = request.getParameter("MID3");
        this.MID4 = request.getParameter("MID4");
        this.MID5 = request.getParameter("MID5");
        this.MID6 = request.getParameter("MID6");
        this.AID = request.getParameter("AID");
        this.AID_NAME = request.getParameter("AID_NAME");
        this.CID = request.getParameter("CID");
        this.CID_NAME = request.getParameter("CID_NAME");
        this.CAMPAIGN_ID = request.getParameter("CAMPAIGN_ID");
        this.CAMPAIGN_NAME = request.getParameter("CAMPAIGN_NAME");
        this.CTYPE = request.getParameter("CTYPE");
        this.ADVERTISER_ID = request.getParameter("ADVERTISER_ID");
        this.CSITE = request.getParameter("CSITE");
        this.CONVERT_ID = request.getParameter("CONVERT_ID");
        this.REQUEST_ID = request.getParameter("REQUEST_ID");
        this.TRACK_ID = request.getParameter("TRACK_ID");
        this.SL = request.getParameter("SL");
        this.IMEI = request.getParameter("IMEI");
        this.IDFA = request.getParameter("IDFA");
        this.IDFA_MD5 = request.getParameter("IDFA_MD5");
        this.ANDROIDID = request.getParameter("ANDROIDID");
        this.OAID = request.getParameter("OAID");
        this.OAID_MD5 = request.getParameter("OAID_MD5");
        this.OS = request.getParameter("OS");
        this.MAC = request.getParameter("MAC");
        this.MAC1 = request.getParameter("MAC1");
        this.IPV4 = request.getParameter("IPV4");
        this.IPV6 = request.getParameter("IPV6");
        this.IP = request.getParameter("IP");
        this.UA = request.getParameter("UA");
        this.GEO = request.getParameter("GEO");
        this.TS = request.getParameter("TS");
        this.CALLBACK_PARAM = request.getParameter("CALLBACK_PARAM");
        this.CALLBACK_URL = request.getParameter("CALLBACK_URL");
        this.MODEL = request.getParameter("MODEL");
        this.UNION_SITE = request.getParameter("UNION_SITE");
    }


}
